package cn.iocoder.yudao.module.digital.service.cardkeymanager;

import cn.iocoder.yudao.module.digital.api.cardkeymanager.dto.CardKeySecretDTO;

import java.util.List;

/**
 * Description: 卡密管理
 * Author: li
 * Date: 2024/2/22
 */
@Deprecated
public interface ICardKeyManagerService {

    /**
     * 通过客服领取卡密
     *
     * @param orderNo 订单流水号
     * @param secret  密钥
     */
    List<CardKeySecretDTO> claimCardKeySecretByCustomerService(String orderNo, String secret);

    /**
     * 解析密钥数据
     * @param textData
     * @return
     */
    List<CardKeySecretDTO> parseSecretData(String textData);

    /**
     * 领取卡密
     *
     * @param orderNo         订单流水号
     * @param skuId           sku的id
     * @param skuNum          sku的数量
     * @param buyDenomination 用户输入的面额（单位：分）
     * @return 卡密
     */
    List<CardKeySecretDTO> claimCardKeySecret(String orderNo, Long skuId, int skuNum, Integer buyDenomination);

    /**
     * 撤销失败的卡密
     */
    String revertGenFailedRequest();

    /**
     * 重试查询卡密账户失败
     */
    String retryGetAccountFailedRequest();

    /**
     * 从api拉取卡密商品
     */
    void synCardKeyProductFromApi();

}
